 /*******************************************************************************
  * Copyright (c) 2005, 2007 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
  *
  * Contributors:
  * IBM Corporation - initial API and implementation
  *******************************************************************************/
 package org.eclipse.ui.internal;

 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorSite;
 import org.eclipse.ui.internal.part.StatusPart;
 import org.eclipse.ui.part.EditorPart;

 /**
  * This part is shown instead the editors with errors.
  *
  * @since 3.3
  */
 public class ErrorEditorPart extends EditorPart {

     private IStatus error;

     /**
      * Creates instance of the class
      */
     public ErrorEditorPart() {
     }

     /**
      * Creates instance of the class
      */
     public ErrorEditorPart(IStatus error) {
         this.error = error;
     }

     /*
      * (non-Javadoc)
      *
      * @see org.eclipse.ui.part.EditorPart#doSave(org.eclipse.core.runtime.IProgressMonitor)
      */
     public void doSave(IProgressMonitor monitor) {
     }

     /*
      * (non-Javadoc)
      *
      * @see org.eclipse.ui.part.EditorPart#doSaveAs()
      */
     public void doSaveAs() {
     }

     /*
      * (non-Javadoc)
      *
      * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
      */
     public void createPartControl(Composite parent) {
         if (error != null) {
             new StatusPart(parent, error);
         }
     }

     /*
      * (non-Javadoc)
      *
      * @see org.eclipse.ui.part.EditorPart#init(org.eclipse.ui.IEditorSite,
      * org.eclipse.ui.IEditorInput)
      */
     public void init(IEditorSite site, IEditorInput input) {
         setSite(site);
         setInput(input);
         setPartName(input.getName());
     }

     /*
      * (non-Javadoc)
      *
      * @see org.eclipse.ui.part.EditorPart#isDirty()
      */
     public boolean isDirty() {
         return false;
     }

     /*
      * (non-Javadoc)
      *
      * @see org.eclipse.ui.part.EditorPart#isSaveAsAllowed()
      */
     public boolean isSaveAsAllowed() {
         return false;
     }

     /*
      * (non-Javadoc)
      *
      * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
      */
     public void setFocus() {

     }

     /*
      * (non-Javadoc)
      *
      * @see org.eclipse.ui.part.EditorPart#setPartName(java.lang.String)
      */
     public void setPartName(String newName) {
         super.setPartName(newName);
     }
 }

